package com.aboo.service;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.aboo.dao.IDao;
import com.aboo.po.BasePO;

public class BaseService {

	private IDao dao;
	
	/**
	 * 保存PO
	 * @param po
	 * @return
	 */
	public Serializable save(BasePO po) {
		return dao.save(po);
	}
	
	/**
	 * 批量PO列表
	 * @param list
	 * @return
	 */
	public List<Serializable> save(List<BasePO> list) {
		return dao.save(list);
	}
	
	/**
	 * 删除PO
	 * @param po
	 * @return
	 */
	public boolean delete(BasePO po) {
		return dao.delete(po);
	}
	
	/**
	 * 删除PO列表
	 * @param po
	 * @return
	 */
	public boolean delete(List<BasePO> list) {
		return dao.delete(list);
	}
	
	/**
	 * 修改PO
	 * @param po
	 * @return
	 */
	public boolean update(BasePO po) {
		return dao.update(po);
	}
	
	/**
	 * 修改PO列表
	 * @param list
	 * @return
	 */
	public boolean update(List<BasePO> list) {
		return dao.update(list);
	}
	
	/**
	 * 根据主键来查找PO
	 * @param primaryKey
	 * @return
	 */
	public BasePO findByPrimaryKey(int primaryKey) {
		return dao.findByPrimaryKey(primaryKey);
	}
	
	/**
	 * 根据HQL语句和条件来查找对应记录
	 * @param hqlSQL HQL语句
	 * @param params 查询条件
	 * @return
	 */
	public List<BasePO> findByCondition(String hqlSQL,
			Map<String, Object> params) {
		return dao.findByCondition(hqlSQL, params);
	}

	public IDao getDao() {
		return dao;
	}

	public void setDao(IDao dao) {
		this.dao = dao;
	}
	
}
